home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / sbin / loadndisdriver < prev    next >
Text File  |  2009-04-30  |  1KB  |  39 lines

  1. #!/bin/sh -e
  2.  
  3. # Find the most suitable version of ndiswrapper-utils to use:
  4. # - first check what API is required by currently installed kernel module
  5. # - fallback to detection of latest utility version
  6. utils_version() {
  7.     UTILS_VERSION=$(/sbin/modinfo -F parm ndiswrapper 2>/dev/null | \
  8.             sed -n 's/^utils_version:.*([^:]\+: \([0-9\.]\+\))$/\1/p')
  9.  
  10.     if [ "${UTILS_VERSION}" ]; then
  11.         echo ${1}-${UTILS_VERSION}
  12.     else
  13.         for file in ${1}-[\.0-9][\.0-9]*; do
  14.             [ -x "${file}" ] && echo ${file}
  15.         done | sort -n -t - -k 2 | tail -1
  16.     fi
  17. }
  18.  
  19. # invoked by ndiswrapper module
  20. if [ "${#}" -ge "3" ]; then
  21.     # /sbin/loadndisdriver <ioctl command> <debug value> <utils version> \
  22.     #    <vendor> <device> <subdevice> <subvendor> <bus>
  23.     exec /sbin/loadndisdriver-${3} "${@}"
  24. fi
  25.  
  26. # invoked interactively
  27. LOADNDISDRIVER=$(utils_version /sbin/loadndisdriver)
  28. if [ -x "${LOADNDISDRIVER}" ]; then
  29.     exec ${LOADNDISDRIVER} "${@}"
  30. fi
  31.     
  32. if [ "${LOADNDISDRIVER}" ]; then
  33.     echo "Error: ndiswrapper-utils-${LOADNDISDRIVER##*-} not installed!" 1>&2
  34. else
  35.     echo "Error: unable to find a version of loadndisdriver!" 1>&2
  36. fi
  37.  
  38. exit 1
  39.